Instagram Video Downloader
Pricing
from $90.00 / 1,000 each instagram video scrapeds
Instagram Video Downloader
Download public Instagram Reels, video posts, and IGTV links with this Apify Actor. Extract direct video URLs, metadata, thumbnails, and optional stored files for automation, backups, and content workflows.
Pricing
from $90.00 / 1,000 each instagram video scrapeds
Rating
5.0
(1)
Developer
Emmanuel Uchenna
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Instagram Video Downloader do?
Instagram Video Downloader helps you download public Instagram Reels, video posts, and IGTV links with Apify. Extract direct video URLs, metadata, thumbnails, and optional stored files for automation, backups, and content workflows.
Why use Instagram Video Downloader?
This Actor is useful when you need a repeatable workflow for public Instagram video assets instead of a one-off browser tool.
- Archive your own published Reels or IGTV videos
- Feed public video links into downstream automations
- Save resolved download URLs for dashboards, approvals, or content operations
- Optionally persist files in Apify storage for later processing
- Apply PPE pricing cleanly around one processed Instagram URL at a time
How to use Instagram Video Downloader
- Open the Actor in Apify Console and go to the Input tab.
- Paste one or more public Instagram
/reel/,/p/, or/tv/URLs intostartUrls. - Choose whether to store the resolved video files, thumbnails, or page HTML snapshots.
- Adjust concurrency, retries, timeout, and proxy settings if needed.
- Run the Actor.
- Review the dataset output for resolved
videoUrlvalues and optional key-value store references.
Input
The Actor accepts these main input fields:
startUrls: Required array of public Instagram post URLsstoreVideoFiles: Download each resolved video file into the default key-value storestoreThumbnailFiles: Download each resolved thumbnail image into the key-value storeincludePageHtml: Save the fetched Instagram HTML for debuggingfilenamePrefix: Prefix used for stored file namesmaxConcurrency,maxRequestRetries,requestTimeoutSecs: Runtime tuning optionsproxyConfiguration: Optional proxy settings from the Apify proxy editor
Example input:
{"startUrls": [{ "url": "https://www.instagram.com/p/C/" },{ "url": "https://www.instagram.com/p/Cx4R5s6DeFg/" }],"storeVideoFiles": true,"storeThumbnailFiles": false,"includePageHtml": false,"filenamePrefix": "campaign-archive","maxConcurrency": 3,"maxRequestRetries": 2,"requestTimeoutSecs": 30,"proxyConfiguration": {"useApifyProxy": false}}
Output
Each processed URL produces one dataset item. Successful items include the resolved video URL and optional storage references. Failed items stay in the dataset with an error code and message so the run remains auditable.
Example dataset item:
[{"status": "ready","inputUrl": "https://www.instagram.com/p/C/","canonicalUrl": "https://www.instagram.com/p/C/","shortcode": "Cx1Q2a3BCdE","mediaType": "reel","title": "Instagram video","description": "Public Instagram Reel","videoUrl": "https://instagram.fxyz1-1.fna.fbcdn.net/o1/v/t16/f1/m86/...","thumbnailUrl": "https://instagram.fxyz1-1.fna.fbcdn.net/v/t51.2885-15/...","videoStoreKey": "video-campaign-archive-cx1q2a3bcde.mp4","videoPublicUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/video-campaign-archive-cx1q2a3bcde.mp4","thumbnailStoreKey": null,"thumbnailPublicUrl": null,"htmlStoreKey": null,"uploadDate": "2025-01-16T18:42:10.000Z","fetchedAt": "2026-06-14T10:00:00.000Z","errorCode": null,"errorMessage": null}]
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
status | ready when a video URL was resolved, otherwise error |
canonicalUrl | Canonical Instagram page URL used for the item |
shortcode | Instagram shortcode extracted from the URL |
mediaType | reel, post, or tv |
videoUrl | Direct video URL resolved from the public page |
thumbnailUrl | Main public thumbnail URL |
videoStoreKey | Key-value store key for the saved video file |
videoPublicUrl | Public URL for the stored video file on Apify |
errorCode / errorMessage | Failure details when no public video URL could be resolved |
Tips or Advanced options
- Keep concurrency low when Instagram responds aggressively to repeated requests.
- Turn on
storeVideoFilesonly when you really need binary files in Apify storage; otherwise the datasetvideoUrlmay be enough. - Use
includePageHtmlfor debugging extraction changes when Instagram updates page markup. - Add proxy settings if your deployment needs better request distribution.
FAQ, disclaimers, and support
Does this work for private Instagram posts?
No. This Actor is designed for public Instagram pages only.
Will all public Instagram pages expose a direct video URL?
Not always. Instagram can change markup, geo-behavior, or anti-bot protections. When a URL cannot be resolved, the Actor returns an error dataset item instead of failing the entire run.
Is it legal to use?
You are responsible for complying with Instagram terms, copyright restrictions, and local laws. Only download content you own or have permission to use.
Where do I report issues?
Use the repository Issues tab or the Actor feedback section in Apify Console. If you need a more specialized extraction workflow, build on this Actor and adapt the extraction logic to your content pipeline.